<?php

class InstalacaoController extends Controller {

	/**
	 * Displays a particular model.
	 * @param integer $id the ID of the model to be displayed
	 */
	public function actionView($id) {
        $this->render('view', array('model' => $this->loadModel($id)));
	}

	/**
	 * Creates a new model.
	 * If creation is successful, the browser will be redirected to the 'view' page.
	 */
	public function actionCreate() {
        $model = new Instalacao;

        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($model);

        if(isset($_POST['Instalacao'])) {
            $model->attributes = $_POST['Instalacao'];

            if($model->save()) {
                Yii::app()->user->setFlash('message', 'Instalação cadastrada com sucesso.');
                $this->redirect(array('index'));
            }
            else
                Yii::app()->user->setFlash('message', 'Instalação não pôde ser cadastrada.');
        }

        $this->render('form', array('model' => $model));
	}

	/**
	 * Updates a particular model.
	 * If update is successful, the browser will be redirected to the 'view' page.
	 * @param integer $id the ID of the model to be updated
	 */
	public function actionUpdate($id) {
        $model = $this->loadModel($id);

        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($model);

        if(isset($_POST['Instalacao'])) {
            $model->attributes = $_POST['Instalacao'];

            if($model->save()) {
                Yii::app()->user->setFlash('message', 'Instalação atualizada com sucesso.');
                $this->redirect(array('index'));
            }
            else
                Yii::app()->user->setFlash('message', 'Instalação não pôde ser atualizada.');
        }

        $this->render('form', array('model' => $model));
	}

    /**
     * Deletes a particular model.
     * If deletion is successful, the browser will be redirected to the 'admin' page.
     * @param integer $id the ID of the model to be deleted
     * @throws CHttpException
     * @return void
     */
	public function actionDelete($id) {
        if($this->loadModel($id)->delete())
            Yii::app()->user->setFlash('message', 'Instalação excluída com sucesso.');
        else
            throw new CHttpException(403, 'Instalação não pôde ser excluída.');

        // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
        if(!isset($_GET['ajax']))
            $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
	}

	/**
	 * Lists all models.
	 */
	public function actionIndex() {
        $model = new Instalacao('index');
        $model->unsetAttributes();  // clear any default values

        if(isset($_GET['Instalacao']))
            $model->attributes = $_GET['Instalacao'];

        $this->render('index', array('model' => $model));
	}

	/**
	 * Returns the data model based on the primary key given in the GET variable.
	 * If the data model is not found, an HTTP exception will be raised.
	 * @param integer $id the ID of the model to be loaded
	 * @return Instalacao the loaded model
	 * @throws CHttpException
	 */
	public function loadModel($id) {
        $model = Instalacao::model()->findByPk($id);

        if($model === null)
            throw new CHttpException(404, 'A página requisitada não existe.');

        return $model;
	}

	/**
	 * Performs the AJAX validation.
	 * @param Instalacao $model the model to be validated
	 */
	protected function performAjaxValidation($model) {
        if(isset($_POST['ajax']) && $_POST['ajax'] === 'instalacao-form') {
            echo CActiveForm::validate($model);
            Yii::app()->end();
        }
	}
}
